package org.example.memora.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.memora.entity.PostLike;

import java.util.List;

@Mapper
public interface PostLikeMapper extends BaseMapper<PostLike> {

    /**
     * 根据 userId + postId 查询一条点赞记录
     */
    PostLike selectByUserAndPost(@Param("userId") Long userId,
                                 @Param("postId") String postId);
    /**
     * 根据 postId 查询所有点赞记录
     */
    List<PostLike> selectByPostId(String postId);

    /**
     * 新增点赞记录
     */
    int insertLike(PostLike postLike);

    /**
     * 删除某个用户对某个帖子的点赞记录
     */
    int deleteLike(@Param("userId") Long userId,
                   @Param("postId") String postId);

    /**
     * 批量插入点赞记录
     * @param records 点赞记录列表
     * @return 插入的记录数
     */
    int batchInsert(List<PostLike> records);


    List<PostLike> selectByUserId(@Param("userId") Long userId);

}

